#ifndef _LayerMain_H_
#define _LayerMain_H_

class LayerMain : public CCLayer
{
	CCSprite* mCircle[2];		// 两个按钮
	CCSprite* mTimeBar;			// 时间条

	CCLabelTTF* mTimeValue;		// 时间文本
	CCLabelAtlas* mScoreTotal;	// 分数文本
    
	CCLabelTTF* mFinish;		// 提示文字
	CCLabelTTF* mTips;
    CCLabelTTF* mLabelLevel;    // 等级标签
    CCLabelTTF* mLabelGoal;     // 目标标签
    CCLabelTTF* mLabelHigh;     // 最高分标签

	TouchState mTouchState[2];	// 点击状态
	int mTouchCount[2];			// 点击数
    int mTotalCount;            // 总数
	CCTouch* mTouch[2];			// 当前点击保留，为释放用
	
	GameState mGameState;		// 游戏状态
    
    int mNextGoal;              // 下一次目标,初始为70/140,每级增加15~30,每个目标达成增加10秒
    int mCurrentLevel;          // 等级
    
    float mLastTime;
    float mLevelTime;
    float mCurrentTime;
    float mTotalTime;

private:
    void _showResult();
    void _retry();
    void _back();
    void _restart();
    void _doTouch(int index, CCTouch* touch);
    bool _checkTouch(CCSet *pTouches);
    void _updateTimeBar();
    void _updateLevel();
    int _containsTouchLocation(CCTouch* touch);
    
public:
    
    bool init();
    
    virtual void keyBackClicked();
    virtual void keyMenuClicked();

    void update(float dt);
    
    void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
    void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
    void registerWithTouchDispatcher();

    static CCScene* scene();
    
    CREATE_FUNC(LayerMain);
};

#endif